Skip to content

Results pipeline rework (integration branch) - #2402

Draft
dazakdev wants to merge 12 commits into
masterfrom
results-pipeline
Draft

dazakdev wants to merge 12 commits into
masterfrom
results-pipeline

Conversation

@dazakdev

@dazakdev dazakdev commented Aug 5, 2026 •

Copy link
Copy Markdown

Long-lived integration branch for the frontend side of the results pipeline rework. Work merges here; master only receives the finished result.

Long-lived integration branch for the results pipeline rework:
binary exchange format instead of JSON, fetching numeric data as
ArrayBuffer, lazy per-page loading, and live partial result previews.

Tracked in Linear as YAP-47 .. YAP-69.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
dazakdev and others added 11 commits October 14, 2026 18:50
Ask for task totals instead of the full task list (needs yaptide/yaptide#1681), stop polling hidden tabs, find the current simulation by its input, and let failed cache fetches reject instead of hanging.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pages kept in object storage come from the backend as signed links; they are
fetched in parallel, without credentials, and converted like the API
responses. Pages still sent inline are used as before.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…r-sent events (#2440)

- the simulation card shows what the partial results cover ("37% of primaries, 2 minutes ago") and a
  Partial Results button, also for a cancelled or failed simulation that has them
- the results panel follows GET /events/simulation while it shows partial results; a new partial or the
  final results replace the shown status, and EstimatorsSelect loads the estimator on screen again
- EstimatorsSelect is the only loader of estimator pages: it remembers the partial revision each tab was
  loaded at, loads the tab on screen (not always tab 0) and does not switch to the Results screen
- estimator pages are cached per partial revision, so a new partial is fetched and the final results
  never come from a cached partial

Co-authored-by: Mosder <xmosder12@gmail.com>
* feat: follow the status of all simulations through one stream per user, in place of polling

The status is polled only when the stream is refused three times in a row; a failed or canceled run reaches the
results panel too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: open another simulation at its first estimator and keep only the latest partial pages

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: keep trying the status stream while polling, without its stale statuses, and give another user a stream of their own

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…2442)

The status stream re-renders the provider on every pushed status; the handlers were bound anew each render,
so every grid and effect depending on them fetched again, several requests a second per open page.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…#2443)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…can be opened again (#2445)

The grids saw the tracked run's final status again on every remount and stream reconnect and each time jumped
to the results.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
#2446)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ts for it (#2448)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants